Erstellt:26.01.2014
Aktualisiert:26.01.2014

Bluetooth-UART Modul

Eine einfach Art für drahtlose Kommunikation mit vielen verschiedenen Geräten ist Bluetooth. Macht man die ersten Versuche mit einem Bluetooth SPP (Serial Port Profile), ist es hilfreich ein Modul zu bauen, dass man auf einfache Art an einen PC oder Mikrocontroller anschließen kann.

Datenblatt BTM-222.pdf

BTM-222 Schaltplan Layout.rar

 

Hardware

Da das USB-UART Interface eine Ausgangsspannung von 5 V hat, das BTM-222 allerdings eine Eingangsspannung von 3,3 V, ist auch noch ein Spannungsregler vorhanden. Mit einem Jumper kann gewählt werden, ob das BTM-222 mit dem Spannungsregler versorgt wird, oder direkt über die Pinleiste. So kann das Modul auch an einem Testaufbau, der mit 3,3 V läuft verwendet werden.

Die Stiftleiste hat die gleiche Belegung wie das USB-UART Interface plus RTS und CTS, die allerdings nicht zwingend erforderlich sind. Die Signale RX und TX sind mit Z-Dioden abgesichert. Zum einen bietet dies einen Schutz gegen Spannungsspitzen, zum anderen werden damit die Pegel von 5 V auf 3,3 V heruntergesetzt.

Die LEDs signalisieren eine Bluetoothverbindung und Datenverkehr. Die LED an PIO7 blinkt, wenn kein Gerät verbunden ist. Wurde eine Verbindung hergestellt leuchtet sie. Die LED an PIO5 leuchtet auf, wenn Daten gesendet oder empfangen werden. Leider sind diese Funktionen nicht im Datenblatt beschrieben.

Das Modul wurde mit einer PCB-Antenne entwickelt. Dazu gibt es zwei Dokumente von Texas Instruments, DN0007 und AN043. Zu Testzwecken wurde die Antenne allerdings abgetrennt und eine MML-Buchse aufgelötet. Es stellte sich heraus, dass die Antenne aus der DN0007 einen besseren Empfang bietet.

 

Kommunikation

Da das datenblatt nicht gerade ausführlich ist und ein entscheidendes Detail nicht erwähnt wird, ist hier noch die grundlegende Bedienung erklärt.

Der UART muss wie folgt eingestellt werden:

Das BTM-222 kann mit sogenannten AT-Befehlen gesteuert werden. Ein Befehl beginnt dabei immer mit "AT". Das letzte Zeichen ist ein <CR>. Hier ist auch schon die Falle, die im Datenblatt nicht erwähnt wird. Werder ein <CR<LF> noch ein einfaches <LF> funktioniert. Die Antworten vom BTM-222 werden allerdings mit <CR><LF> beendet. Befehle können nur an das Modul gesendet werden, wenn keine Bluetoothverbindungs aufgebaut wurde oder das Modul mit der Escape Sequenz in den Kommandomodus gesetzt wurde.

Als ersten Test kann man mit dem Befehl "ATI0" die Firmwareversion abfragen.

ati0\c

Die Antwort darauf ist die Firmwareversion. Mit den Standardeinstellungen werden alle Zeichen, die man sendet wieder zurück geschickt.

ati0\c\c\n F/W VERSION: v6.26\c\n

Die Antwort besteht also aus einem Zeilenumbruch, der Information und einem weiteren Zeilenumbruch.

Verbindet sich ein Gerät mit dem BTM-222 wird die Meldung CONNECT und die Bluetoothadresse des verbundenen Gerätes ausgegeben. Die Standad PIN ist 1234.

CONNECT 'F4FC-32-87B318'\c\n

Jetzt befindet sich das BTM-222 im Datenmodus. Alles was jetzt per UART gesendet wird, wird an das gekoppelte Gerät geschickt. Wird die Verbindung getrennt befindet sich das BMT-222 wieder im Kommandomodus und gibt die Meldung DISCONNECT aus.

DISCONNECT 'F4FC-32-87B318'\c\n

Die Baudrate des Bluetooth SPP spielt keine Rolle, da die Daten vom BTM-222 zwischengespeichert werden. Nur die Baudrate für die UART Verbindung muss wie im BTM-222 eingestellt werden. Bei großen Datenmengen sollte man eine Float Control verwenden.

Zum Schulss noch ein paar Software Tipps:

Unter Windows kann man HTerm benutzen um eine UART Verbindun herzustellen. HTerm kann mehrmals geöffnet werden und somit gleichzeitig eine Verbindung zum Bluetooth SPP herstellen. Das Programm nennt sich zwar immer noch Beta, aber Probleme gab es damit noch nie.

Für Android gibt es auch Bluetooth Terminal Programme. Ein brauchbares ist Bluetooth SPP.